﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace GlueExamples.CompleteExamples
{

    internal class EventInfo
    {
        public string EventName { get; set; }
        public string Location { get; set; }
        public DateTime? Start { get; set; }
        public DateTime? End { get; set; }
        public string EntryDescription { get; set; }
        public string OrganizerOrgName { get; set; }
        public string ActivityName { get; set; }
        public string EntryContactPersonName { get; set; }
        public string EntryContactPhone { get; set; }
        public string EntryContactEmail { get; set; }
        public string EntryContactHomePage { get; set; }
        public string Level { get; set; }
        public string SeasonName { get; set; }
        public string OrganizerContactPhone { get; set; }
        public string OrganizerContactEmail { get; set; }
        public string OrganizerContactHomePage { get; set; }
        public int ArrangingOrganizaionId { get; set; }
        public int ActivityId { get; set; }
        public int ParentActivityId { get; set; }
        public DateTime? DeadLine { get; set; }
    }

    internal class Event
    {
        public string EventName { get; set; }
        public string Location { get; set; }
        public DateTime? Start { get; set; }
        public DateTime? End { get; set; }
        public string Level { get; set; }
        public EventOrganiser Organizer { get; set; }
        public EntryInfo EntryInfo { get; set; }
        public Activity Activity { get; set; }
        public Season Season { get; set; }
        public OrgElement ArrangingOrganization { get; set; }

        public Deadline GetLastDeadLine()
        {
            return new Deadline { Date = DateTime.Now };
        }
    }

    internal class EventOrganiser
    {
        public Contact Contact { get; set; }
        public String OrgName { get; set; }
    }

    internal class Contact
    {
        public String TelephoneNo1 { get; set; }
        public String Email { get; set; }
        public String HomePage { get; set; }
    }

    internal class EntryInfo
    {
        public String Description { get; set; }
        public String ContactPersonName { get; set; }
        public Contact Contact { get; set; }
    }

    internal class Activity
    {
        public String Name { get; set; }
        public int Id { get; set; }
        public int ParentActivityId { get; set; }
    }

    internal class Season
    {
        public String Name { get; set; }
    }

    internal class Deadline
    {
        public DateTime Date { get; set; }
    }

    internal class OrgElement
    {
        public int OrgId { get; set; }
    }

}
